﻿#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "QtSerialPort/QSerialPortInfo"
#include "../../src/TTucmd/ttucmd.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_Btn_setIP_clicked();

    void on_Btn_software_clicked();

    void on_Btn_Hardware_clicked();

    void on_Btn_cpuInfo_clicked();

    void on_Btn_stopcont_clicked();

    void on_Btn_stopapp_clicked();

    void on_Btn_appUsge_clicked();

    void on_Btn_cpuUsge_clicked();

    void on_Btn_connect_clicked();

    void RespondsetTTUIP(int devindex,bool ret);//设置ip结果
    void RespondgetVersion(int devindex,QString ver);//获取软件版本号
    void RespondgetCPUInfo(int devindex,QMap<QString,QString> cpuinfo);//cpu信息键值对形式，硬件版本号，cpu占用率等
    void RespondcheckOnline(int devindex,bool ret);//设备是否上线
    void RespondgetContainerSts(int devindex,QList<TTucmd::_ContainerInfo> continfo);//容器状态，容器cpu占用率，容器名，app名
    void RespondstopContainer(int devindex,QString name,bool ret);//停止容器，容器名，结果
    void RespondstartContainer(int devindex,QString name,bool ret);//启动容器，
    void RespondgetAppInfo(int devindex,QList<TTucmd::_AppInfo> appinfo);//获取app信息
    void RespondstopApp(int devindex,QString contname,QString appname,bool ret);//停止app
    void RespondstartApp(int devindex,QString contname,QString appname,bool ret);//容器名，app名，结果
    void RespondcopyApp(int devindex,QString path,QString ,bool );
    void RespondinstallApp(int devindex,QString,QString,bool);
    void ResponduninstallApp(int devindex,QString,QString,bool);//容器名，app名，结果
    void SendCmdMsg(int devindex,QString);
    void RevCmdMsg(int devindex,QString);
    void RespondNetMap(int ,QString info,bool ret);
    void RespondTime(bool ret);
    void RespondPos(int index,QString e,QString n,QString h);

    void respondAppVersion(int index,QString appVersion);

    void respondSshConnted(int);

    void on_Btn_online_clicked();

    void on_Btn_netmap_clicked();

    void on_pushButton_clicked();

    void on_pushButton_Send_clicked();

    void on_pushButton_2_clicked();

    void on_pushButton_3_clicked();

    void on_pushButton_4_clicked();

    void on_pushButton_5_clicked();

    void on_pushButton_6_clicked();

    void on_pushButton_7_clicked();

    void on_pushButton_8_clicked();

    void on_pushButton_9_clicked();

    void on_pushButton_10_clicked();

    void releaseThread();

signals:
    void openPort(int);
    void getSoftVersion();

private:
    Ui::MainWindow *ui;

    TTucmd *ttu;

    struct _OptFlags{
        int cpuInfoFlag;//默认0，1查看硬件版本号，2查看cpu信息（model name）
        int contInfoFlag;//默认0，1查看容器cpu利用率，2查看容器名，3查看容器运行状态
        int appInfoFlag;//默认0，1查看app的cpu占用率，2查看容器app运行状态
        _OptFlags(){
            memset(this,0,sizeof(_OptFlags));
        }
    }mOptFlags;

    QThread* pthread;
};

#endif // MAINWINDOW_H
